When surfing the Internet, users often access numerous web pages and switch back and forth between web pages. The visited web pages may be displayed in a graphical user interface either singly or simultaneously (such as, for example, in tabbed, framed or tiled formats). In addition, a user often alternates between web surfing and performing productivity tasks using an application program. In performing productivity tasks using an application program the user typically has a number of windows associated with the application open as well. Navigation among a plurality of web pages and application program windows in conventional operating systems and browsers is often difficult, clumsy and time-consuming due to the relatively limited number of controls available to a user.
Conventional browsers typically have several facilities available for navigating between web pages accessed during a web browsing session. These comprise back/forward arrows accessible from a tool bar; a favorites list; a history file of visited pages; and an address bar. Each of these has limitations for assisting a user in navigating between web pages accessed during a web browsing session. The back/forward arrows often are useful in navigating between web pages that have been most recently visited, but are less useful in attempting to return to a web page that was, for example, visited early in a web browsing session. Often, browsing activities may interrupt a sequence of visited pages, thereby making it impossible for a user to return to a previous web page using the back/forward arrows. Even if it is possible to return to a previously-visited web page using the back/forward arrows, there may be many intervening pages, making it difficult and time-consuming to return to the desired previously-visited web page.
Generally, users retain the favorites list for entry or banner web pages. Adding every web page visited during a web surfing session to a favorites list is not only time-consuming, but also defeats the purpose of the favorites list. It effectively clogs the favorites list with a plurality of web pages that are of interest only for a particular web surfing session. In addition, the web pages have to be added to the favorites list using a number of cumbersome pointing device operations. Then, when the user seeks to revisit the web page, the user has to access the favorites list again and locate the desired web pages in what may now be a very crowded list. Finally, when a particular web surfing session is completed, the user may have to delete a number of web sites from the favorites list to return the favorites list to a more streamlined manner of operation.
The history file of visited pages also has limitations. For example, the history file catalogs pages with insufficient granularity to make it easy to find a particular web page within the list. In addition, the sheer volume of web pages listed may make it difficult to find a particular web page.
The foregoing problems are all encountered within the context of a web browsing session. As described previously, though, web browsing may occur concurrently with productivity operations performed using application programs. Typically, one or more windows associated with application programs will be open during these operations. In conventional graphical user interfaces associated with operating systems there is no easy way to switch between web pages associated with a browser and windows associated with an application program. A user typically has to perform a series of surface/submerge operations using task bar functionality. In no known graphical user interface is there a control to allow users to switch between a collection of web pages and application windows.
These problems are further compounded when the browsing activities occur in a small electronic device, such as a cellular telephone or a personal digital assistant with internet browsing capability. Such devices have small displays, meaning it may be impractical to have more than one web page or application program window displayed at a time.
From a more expansive perspective beyond those limited to web-browsing activities, computer users may have several or more distinct modes for using a computer. For example, a user may pay bills on-line once a month. While paying bills on-line, the user may also have a favorite picture displayed (related to bill-paying) and favorite music playing, where the picture is displayed and the music is played with software associated with the computer. Each month when the user returns to perform the bill-paying task, there is no simple way to re-establish the desired bill-paying environment, other than by launching each application individually. This can be time-consuming and burdensome and possibly ineffective since a previous bill-paying environment often has to be re-established from memory. Thus, a computer user may have several desired computer environments associated with certain activities or productivity tasks. There is no known way to store these computer environments for later recall.
Accordingly, those skilled in the art desire methods and apparatus for implementing functionality associated with web browsers or graphical user interfaces that enable users to quickly navigate between a subset of web pages during a web browsing session In addition, those skilled in the art desire methods and apparatus that enable users to quickly switch between a subset of web pages and application program windows open during a particular computer session. Further, those skilled in the art desire methods and apparatus that allow a user to store favorite operating environments, wherein the favorite operating environments comprise a combination of two or more web pages; application programs; computer functions; or computer resources.